package com.etl.sys.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 调度表
 * </p>
 *
 * @author chenfenghai
 * @since 2020-11-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("SYS_SCHEDULE")
public class SysSchedule implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 调度ID
     */
    @TableId(value = "SCHEDULE_ID", type = IdType.AUTO)
    private Long scheduleId;

    /**
     * 锁UID
     */
    @TableField("LOCK_UID")
    private String lockUid;

    /**
     * 影院ID
     */
    @TableField("CINEMA_ID")
    private Long cinemaId;

    /**
     * 模块ID
     */
    @TableField("MODULE_ID")
    private Long moduleId;

    /**
     * 数据库ID
     */
    @TableField("DATABASE_ID")
    private Long databaseId;

    /**
     * 任务ID
     */
    @TableField("TASK_ID")
    private Long taskId;

    /**
     * CRON表达式
     */
    @TableField("TIME_CRON")
    private String timeCron;

    /**
     * 每次查询最大数量
     */
    @TableField("LIMIT_NUM")
    private Integer limitNum;

    /**
     * 运行状态：1，已停止；2，等待中；3，运行中；
     */
    @TableField("RUN_STATUS")
    private Integer runStatus;

    /**
     * 最后标志
     */
    @TableField("LAST_SIGN")
    private String lastSign;

    /**
     * 最后成功时间
     */
    @TableField("LAST_SUCCESS_TIME")
    private LocalDateTime lastSuccessTime;

    /**
     * 最后失败时间
     */
    @TableField("LAST_FAILURE_TIME")
    private LocalDateTime lastFailureTime;

    /**
     * 执行开始时间
     */
    @TableField("EXEC_TIME_START")
    private LocalDateTime execTimeStart;

    /**
     * 执行结束时间
     */
    @TableField("EXEC_TIME_END")
    private LocalDateTime execTimeEnd;

    /**
     * 删除标志，0：未删除，其他：已删除
     */
    @TableField("DELETE_FLAG")
    @TableLogic
    private Long deleteFlag;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;


}
